home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d21 / dvlib.arc / DVTEST1.C < prev    next >
C/C++ Source or Header  |  1990-05-27  |  4KB  |  115 lines

  1. #include <stdio.h>
  2. #include "dv.h"
  3.  
  4. main()
  5. {
  6.    OBJECT *wind1;
  7.    OBJECT *wind2;
  8.    OBJECT *pointer;
  9.    int pypos = 0, pxpos = 0, button = 0;
  10.    char *str = "                                ";
  11.  
  12.    if( ! dv_installed() )
  13.    {
  14.       puts( "This program requires DesqView" );
  15.       exit( 1 );
  16.    }
  17.  
  18.    wind1 = dv_gethandle( MY_WINDOW, NULL );
  19.  
  20.    dv_visible( OFF, wind1 );
  21.    dv_resize( 5, 30, wind1 );
  22.    dv_poswindow( 1, 1, wind1 );
  23.    dv_color( 0x1F, wind1 );
  24.    dv_cls( wind1 );
  25.    dv_rename( "Test_program", wind1 );
  26.    dv_setcursorpos( 1, 3, wind1 );
  27.    dv_putswindow( (char far *)"DesqView Test program...", 24, wind1 );
  28.    dv_setcursorpos( 3, 8, wind1 );
  29.    dv_putswindow( (char far *)"Press any key...", 16, wind1 );
  30.    dv_visible( ON, wind1 );
  31.    dv_redraw( wind1 );
  32.  
  33.    getch();
  34.  
  35.    dv_cls( wind1 );
  36.    dv_setcursorpos( 3, 5, wind1 );
  37.    dv_putswindow( (char far *)"Make a child window.", 20, wind1 );
  38.    wind2 = dv_newwindow( 5, 30, wind1 );
  39.  
  40.    dv_visible( OFF, wind2 );
  41.    dv_color( 0x4E, wind2 );
  42.    dv_cls( wind2 );
  43.    dv_poswindow( 3, 3, wind2 );
  44.    dv_setcursorpos( 2, 5, wind2 );
  45.    dv_putswindow( (char far *)"Independent movement", 20, wind2 );
  46.    dv_visible( ON, wind2 );
  47.    dv_redraw( wind2 );
  48.  
  49.    dv_cls( wind1 );
  50.    dv_setcursorpos( 1, 1, wind1 );
  51.    dv_putswindow( (char far *)" Use the DV menu to move\r\n", 26, wind1 );
  52.    dv_putswindow( (char far *)" the window. Exit the\r\n", 23, wind1 );
  53.    dv_putswindow( (char far *)" DV menu and press a key\r\n", 26, wind1 );
  54.    dv_putswindow( (char far *)" to continue...\r\n", 17, wind1 );
  55.    dv_redraw( wind1 );
  56.    getch();
  57.  
  58.    dv_attach( ON, wind2 );
  59.    dv_offsetwin( wind1, wind2, OFF_HRIGHT | OFF_VBOTTOM, 7, 16 );
  60.    dv_cls( wind2 );
  61.    dv_setcursorpos( 2, 6, wind2 );
  62.    dv_putswindow( (char far *)"Attached movement.", 18, wind2 );
  63.    dv_redraw( wind2 );
  64.    getch();
  65.  
  66.    dv_freeobj( GENERIC, wind2 );
  67.    dv_cls( wind1 );
  68.    dv_setcursorpos( 2, 4, wind1 );
  69.    dv_putswindow( (char far *)"Check mouse status...\r\n", 23, wind1 );
  70.    dv_redraw( wind1 );
  71.  
  72.    if( dv_kmouse( KMOUSE_STAT ) != IS_REALMOUSE )
  73.       dv_kmouse( KMOUSE_ON );
  74.  
  75.    pointer = dv_createobj( MAKE_POINTER, NULL );
  76.    dv_openobj( GENERIC, wind1, NULL, pointer );
  77.    dv_cls( wind1 );
  78.    dv_setcursorpos( 0, 0, wind1 );
  79.    dv_color( 0x1C, wind1 );
  80.    dv_putswindow( (char far *)"╔════╗\r\n║QUIT║\r\n╚════╝", 22, wind1 );
  81.    dv_setcursorpos( 1, 7, wind1 );
  82.    dv_color( 0x1F, wind1 );
  83.    dv_putswindow( (char far *)"Press LEFT button or", 20, wind1 );
  84.    dv_setcursorpos( 2, 8, wind1 );
  85.    dv_putswindow( (char far *)"HOME to quit test.", 18, wind1 );
  86.    dv_redraw( wind1 );
  87.    dv_color( 0x1E, wind1 );
  88.  
  89.    while( 1 )
  90.    {
  91.       dv_ptrstat( &pypos, &pxpos, &button, pointer );
  92.       if( pypos == 1 && ( pxpos > 0 && pxpos < 5 ) && button == 1 )
  93.      break;
  94.       sprintf( str, "Y=%d X=%d B=%d       ", pypos, pxpos, button );
  95.       dv_setcursorpos( 4, 0, wind1 );
  96.       dv_putswindow( (char far *)str, strlen( str ), wind1 );
  97.       dv_redraw( wind1 );
  98.    }
  99.  
  100.    for( button = 0; button < 5; button++ )
  101.    {
  102.       dv_setcursorpos( 0, 0, wind1 );
  103.       dv_color( 0x1C, wind1 );
  104.       dv_putswindow( (char far *)"╔════╗\r\n║QUIT║\r\n╚════╝", 22, wind1 );
  105.       dv_redraw( wind1 );
  106.       for( pypos = 0; pypos < 5000; pypos++ );
  107.  
  108.       dv_setcursorpos( 0, 0, wind1 );
  109.       dv_color( 0x41, wind1 );
  110.       dv_putswindow( (char far *)"╔════╗\r\n║QUIT║\r\n╚════╝", 22, wind1 );
  111.       dv_redraw( wind1 );
  112.       for( pypos = 0; pypos < 5000; pypos++ );
  113.    }
  114. }
  115.